39#ifdef PREINIT_SUPPORTED
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
73#define LTEIOT23_CMD_AT "AT"
74#define LTEIOT23_CMD_GET_MODEL_ID "AT+CGMM"
75#define LTEIOT23_CMD_GET_SW_VERSION "AT+CGMR"
76#define LTEIOT23_CMD_GET_SERIAL_NUM "AT+CGSN"
77#define LTEIOT23_CMD_FACTORY_RESET "AT&F0"
78#define LTEIOT23_CMD_SW_RESET "ATZ"
79#define LTEIOT23_CMD_SET_UE_FUNCTIONALITY "AT+CFUN"
80#define LTEIOT23_CMD_NETWORK_REGISTRATION "AT+CEREG"
81#define LTEIOT23_CMD_SIGNAL_QUALITY_REPORT "AT%CSQ"
82#define LTEIOT23_CMD_OPERATOR_SELECTION "AT+COPS"
83#define LTEIOT23_CMD_SEND_SMS "AT+CMGS"
84#define LTEIOT23_CMD_SELECT_SMS_FORMAT "AT+CMGF"
85#define LTEIOT23_CMD_DEFINE_PDP_CONTEXT "AT+CGDCONT"
86#define LTEIOT23_CMD_SHOW_PDP_ADDRESS "AT+CGPADDR"
87#define LTEIOT23_CMD_ACTIVATE_PDP_CONTEXT "AT+CGACT"
88#define LTEIOT23_CMD_SOCKET_CMD "AT%SOCKETCMD"
89#define LTEIOT23_CMD_SOCKET_DATA "AT%SOCKETDATA"
90#define LTEIOT23_CMD_SOCKET_EVENTS "AT%SOCKETEV"
96#define LTEIOT23_RSP_OK "OK"
97#define LTEIOT23_RSP_ERROR "ERROR"
103#define LTEIOT23_MAX_RSP_TIME_DEFAULT 500ul
104#define LTEIOT23_MAX_RSP_TIME_COPS 180000ul
105#define LTEIOT23_MAX_RSP_TIME_CFUN 15000ul
106#define LTEIOT23_MAX_RSP_TIME_CMGS 120000ul
107#define LTEIOT23_MAX_RSP_TIME_CGDCONT 5000ul
108#define LTEIOT23_MAX_RSP_TIME_URC 30000ul
114#define LTEIOT23_URC_SOCKET_DATA_EVENT "%SOCKETEV:"
115#define LTEIOT23_URC_SOCKET_DATA "%SOCKETDATA:"
116#define LTEIOT23_URC_NETWORK_REGISTERED "+CEREG: 2,1"
117#define LTEIOT23_URC_SMS_FORMAT_PDU "+CMGF: 0"
118#define LTEIOT23_URC_SMS_FORMAT_TXT "+CMGF: 1"
119#define LTEIOT23_URC_BOOT_EVENT "%BOOTEV:"
125#define LTEIOT23_POWER_STATE_OFF 0
126#define LTEIOT23_POWER_STATE_ON 1
133#define LTEIOT23_TX_DRV_BUFFER_SIZE 256
134#define LTEIOT23_RX_DRV_BUFFER_SIZE 256
152#define LTEIOT23_MAP_MIKROBUS( cfg, mikrobus ) \
153 cfg.tx_pin = MIKROBUS( mikrobus, MIKROBUS_TX ); \
154 cfg.rx_pin = MIKROBUS( mikrobus, MIKROBUS_RX ); \
155 cfg.hwu = MIKROBUS( mikrobus, MIKROBUS_AN ); \
156 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
157 cfg.cts = MIKROBUS( mikrobus, MIKROBUS_CS ); \
158 cfg.wup = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
159 cfg.rts = MIKROBUS( mikrobus, MIKROBUS_INT );
#define LTEIOT23_RX_DRV_BUFFER_SIZE
Definition lteiot23.h:134
#define LTEIOT23_TX_DRV_BUFFER_SIZE
LTE IoT 23 driver buffer size.
Definition lteiot23.h:133
err_t lteiot23_generic_read(lteiot23_t *ctx, uint8_t *data_out, uint16_t len)
LTE IoT 23 data reading function.
void lteiot23_cmd_help(lteiot23_t *ctx, uint8_t *cmd)
LTE IoT 23 cmd help function.
void lteiot23_cmd_run(lteiot23_t *ctx, uint8_t *cmd)
LTE IoT 23 cmd run function.
err_t lteiot23_generic_write(lteiot23_t *ctx, uint8_t *data_in, uint16_t len)
LTE IoT 23 data writing function.
void lteiot23_set_sim_apn(lteiot23_t *ctx, uint8_t *sim_apn)
LTE IoT 23 set sim card APN function.
err_t lteiot23_init(lteiot23_t *ctx, lteiot23_cfg_t *cfg)
LTE IoT 23 initialization function.
err_t lteiot23_send_sms_pdu(lteiot23_t *ctx, uint8_t *service_center_number, uint8_t *phone_number, uint8_t *sms_text)
LTE IoT 23 send SMS in PDU mode function.
uint8_t lteiot23_get_rts_pin(lteiot23_t *ctx)
LTE IoT 23 get RTS pin function.
void lteiot23_send_sms_text(lteiot23_t *ctx, uint8_t *phone_number, uint8_t *sms_text)
LTE IoT 23 send SMS in text mode function.
void lteiot23_set_power_state(lteiot23_t *ctx, uint8_t state)
LTE IoT 23 set power state function.
void lteiot23_set_wup_pin(lteiot23_t *ctx, uint8_t state)
LTE IoT 23 set WUP pin function.
void lteiot23_set_cts_pin(lteiot23_t *ctx, uint8_t state)
LTE IoT 23 set CTS pin function.
void lteiot23_set_rst_pin(lteiot23_t *ctx, uint8_t state)
LTE IoT 23 set RST pin function.
uint8_t lteiot23_get_hwu_pin(lteiot23_t *ctx)
LTE IoT 23 get HWU pin function.
void lteiot23_cfg_setup(lteiot23_cfg_t *cfg)
LTE IoT 23 configuration object setup function.
void lteiot23_cmd_get(lteiot23_t *ctx, uint8_t *cmd)
LTE IoT 23 cmd get function.
void lteiot23_cmd_set(lteiot23_t *ctx, uint8_t *cmd, uint8_t *value)
LTE IoT 23 cmd set function.
lteiot23_return_value_t
LTE IoT 23 Click return value data.
Definition lteiot23.h:220
@ LTEIOT23_ERROR
Definition lteiot23.h:222
@ LTEIOT23_ERROR_CMD
Definition lteiot23.h:224
@ LTEIOT23_ERROR_TIMEOUT
Definition lteiot23.h:223
@ LTEIOT23_OK
Definition lteiot23.h:221
LTE IoT 23 Click configuration object.
Definition lteiot23.h:194
pin_name_t rts
Definition lteiot23.h:204
uint32_t baud_rate
Definition lteiot23.h:207
pin_name_t wup
Definition lteiot23.h:203
pin_name_t cts
Definition lteiot23.h:202
bool uart_blocking
Definition lteiot23.h:208
uart_data_bits_t data_bit
Definition lteiot23.h:209
pin_name_t tx_pin
Definition lteiot23.h:197
pin_name_t rx_pin
Definition lteiot23.h:196
uart_stop_bits_t stop_bit
Definition lteiot23.h:211
pin_name_t hwu
Definition lteiot23.h:200
uart_parity_t parity_bit
Definition lteiot23.h:210
pin_name_t rst
Definition lteiot23.h:201
LTE IoT 23 Click context object.
Definition lteiot23.h:169
uint8_t uart_tx_buffer[LTEIOT23_TX_DRV_BUFFER_SIZE]
Definition lteiot23.h:184
digital_in_t hwu
Definition lteiot23.h:176
uart_t uart
Definition lteiot23.h:180
uint8_t cmd_buffer[LTEIOT23_TX_DRV_BUFFER_SIZE]
Definition lteiot23.h:185
digital_in_t rts
Definition lteiot23.h:177
digital_out_t wup
Definition lteiot23.h:173
uint8_t uart_rx_buffer[LTEIOT23_RX_DRV_BUFFER_SIZE]
Definition lteiot23.h:183
digital_out_t rst
Definition lteiot23.h:171
digital_out_t cts
Definition lteiot23.h:172